#pragma once
#include <cstdint>
#include <cuchar>
#include <cstddef>

namespace wallpaper
{

using i8  = std::int8_t;
using i16 = std::int16_t;
using i32 = std::int32_t;
using i64 = std::int64_t;

using u8  = std::uint8_t;
using u16 = std::uint16_t;
using u32 = std::uint32_t;
using u64 = std::uint64_t;

using idx   = std::ptrdiff_t;
using usize = std::size_t;
using isize = std::ptrdiff_t;

inline std::intptr_t Ptr2Int(void* p) noexcept { return reinterpret_cast<intptr_t>(p); }
} // namespace wallpaper
